home *** CD-ROM | disk | FTP | other *** search
/ Aminet 44 / Aminet 44 (2001)(GTI - Schatztruhe)[!][Aug 2001].iso / Aminet / game / patch / WHDIGamesA-B.lzh / BlueAngel69.lha / BlueAngel69 / blueangel69slave.asm < prev    next >
Assembly Source File  |  2000-04-03  |  4KB  |  180 lines

  1. ;*---------------------------------------------------------------------------
  2. ;  :Program.    blueangel69slave.asm
  3. ;  :Contents.    Slave for "Blue Angel 69"
  4. ;  :Author.    Harry
  5. ;  :History.    21.02.2000/31.3.-2.4.2000
  6. ;  :Requires.    whdload-package :)
  7. ;  :Copyright.    GPL
  8. ;  :Language.    68000 Assembler
  9. ;  :Translator.    ASM-One 1.25
  10. ;  :To Do.
  11. ;---------------------------------------------------------------------------*
  12.  
  13. ;crc_v1    = $57C1
  14.  
  15.     IFND BARFLY
  16.  
  17.     INCDIR    asm-one:Include2.0/
  18.     INCLUDE LIBRARIES/DOS_LIB.I
  19.     INCLUDE    LIBRARIES/DOS.I
  20.     INCLUDE EXEC/EXEC_LIB.I
  21.     INCLUDE    EXEC/MEMORY.I
  22.     INCLUDE    GRAPHICS/GRAPHICS_LIB.I
  23.     INCLUDE INTUITION/INTUITION_LIB.I
  24.     INCLUDE INTUITION/INTUITION.I
  25.     INCLUDE    OWN/CCRMAKRO
  26.     INCLUDE    own/whdload.i
  27.     
  28.     ELSE
  29.  
  30.         INCDIR    Includes:
  31.         INCLUDE    lvo/dos.i
  32.         INCLUDE    lvo/exec.i
  33.         INCLUDE    whdload.i
  34.  
  35.         BOPT    O+ OG+            ;enable optimizing
  36.         BOPT    ODd- ODe-        ;disable mul optimizing
  37.         BOPT    w4-            ;disable 64k warnings
  38.         SUPER                ;disable supervisor warnings
  39.  
  40.         OUTPUT    wart:a-c/anotherworld/anotherworld.slave
  41.     ENDC
  42.  
  43. ;======================================================================
  44.  
  45. SLBASE        SLAVE_HEADER        ;ws_Security + ws_ID
  46.         dc.w    10        ;ws_Version
  47.         dc.w    WHDLF_Disk!WHDLF_NoError!WHDLF_EmulTrap    ;ws_flags
  48.         dc.l    $80000        ;ws_BaseMemSize
  49.         dc.l    $00        ;ws_ExecInstall
  50.         dc.w    SLStart-SLBASE    ;ws_GameLoader
  51.         dc.w    0        ;ws_CurrentDir
  52.         dc.w    0        ;ws_DontCache
  53.          dc.b    $00        ;debugkey
  54. qkey        dc.b    $5D        ;quitkey
  55.         DC.L    0        ;no fastmem
  56.         dc.w    slname-SLBASE
  57.         dc.w    slcr-SLBASE
  58.         dc.w    slinst-SLBASE
  59. ***********************************************************************
  60. slname        dc.b    'Blue Angel 69',0
  61. slcr        dc.b    '1989 Magic Bytes',0
  62. slinst        dc.b    'HD-V1.01 Feb./Mar. 2000 by Harry',0
  63.     even
  64. ;======================================================================
  65.  
  66.         dc.b    "$VER: Blue_Angel_69_Slave_1.01 by Harry"
  67.         dc.b    0
  68.         even
  69.  
  70. ;======================================================================
  71. SLStart    ;    A0 = resident loader
  72. ;======================================================================
  73.  
  74.         lea    _RESLOAD(PC),a1
  75.         move.l    a0,(a1)            ;save for later using
  76.  
  77.         move.l    #CACRF_EnableI,d0    ;enable instruction cache
  78.         move.l    d0,d1            ;mask
  79.         jsr    (resload_SetCACR,a0)
  80.  
  81.     IFEQ    1
  82.     LEA.L    $800,a0
  83.     MOVE.L    #$7E800,D0
  84. .CLR    CLR.L    (A0)+
  85.     SUBQ.L    #4,D0
  86.     BPL.S    .CLR
  87.     ENDC
  88.  
  89.     MOVE.L    #$10000,D0        ;LEN
  90.     LEA.L    $400.W,A1        ;ADDY
  91.     LEA.L    OSMNAME(PC),A0        ;FILENAME
  92.     move.l    _RESLOAD(PC),a2
  93.     jsr    (resload_LoadFileDecrunch,a2)
  94.  
  95. ;    LEA.L    TKEYR(PC),A0
  96. ;    MOVE.L    A0,$404.W
  97.     
  98.     MOVE.L    _RESLOAD(PC),A0
  99.     LEA.L    SLBASE(PC),A1
  100.     JSR    $400.W
  101.     MOVE.W    #0,SR
  102.  
  103.     bset    #1,$bfe001
  104.     MOVE.L    $4.W,A6
  105.  
  106.     MOVEQ.L    #0,D0
  107.     LEA    DOSNAM(PC),A1
  108.     JSR    _LVOOpenLibrary(A6)
  109.     MOVE.L    D0,A6
  110.  
  111.     LEA.L    STFILE(PC),A0
  112.     MOVE.L    A0,D1
  113.     JSR    _LVOLoadSeg(A6)
  114.     LSL.L    #2,D0
  115.     MOVE.L    D0,A1
  116.     ADDQ.L    #4,A1
  117.  
  118.     IFEQ    1
  119. TESTQUIT    EQU    $67E
  120.  
  121.     MOVE.W    #$4EF9,TESTQUIT
  122.     PEA    QUIT(PC)
  123.     MOVE.L    (A7)+,TESTQUIT+2
  124.     ENDC
  125.  
  126.  
  127. ;.yyy    btst    #6,$bfe001
  128. ;    bne.s    .yyy
  129.  
  130.  
  131.     move.l    #$4e714e71,$3902(A1)    ;powersupplyfreq-check
  132.     move.w    #_LVOOpenResource,$2d84(A1)    ;openresource instead findname
  133.     move.l    #$70002c78,$2d7c(A1)
  134.     move.b    #$9a,$4259(A1)        ;get defaultfont
  135.  
  136.     move.w    #$4e71,$d2c(a1)        ;various protectioncode
  137.     move.w    #$4e71,$ea4(A1)        ;removed because it crashed the game
  138.     move.l    #$00004e75,$10c2(A1)
  139.     move.l    #$4e714e71,$10ce(A1)
  140.     move.l    #$10c04e75,$1144(A1)
  141.     move.l    #$4e714e71,$1152(A1)
  142.     move.w    #$4e71,$4390(A1)
  143.  
  144.     ifeq    1
  145.     MOVEM.L    D0/A0-A2,-(A7)
  146.     MOVEQ.L    #$2,D0
  147.     LEA.L    $4a36(A1),A0
  148.     MOVE.L    _RESLOAD(PC),A2
  149.     JSR    RESLOAD_PROTECTreadwrite(A2)
  150.     MOVEM.L    (A7)+,D0/A0-A2
  151.     endc
  152.  
  153.     LEA.L    ARG(PC),A0
  154.     MOVEQ.L    #1,D0
  155.     JSR    (A1)
  156.  
  157.     ILLEGAL
  158.  
  159. QUIT
  160. .exit    pea    TDREASON_OK
  161.     IFEQ    1
  162.     bra    _end
  163. _badver    pea    TDREASON_BADVERSION
  164.     ENDC
  165. _end    move.l    (_resload,pc),-(a7)
  166.     add.l    #resload_Abort,(a7)
  167.     rts
  168.  
  169. ;version    dc.w    0    ;version of game
  170. _RESLOAD    dc.l    0    ;address of resident loader
  171. OSMNAME    DC.B    'OSEMUMODULE400.BIN',0
  172.     EVEN
  173. STFILE    DC.B    'r',0
  174.     EVEN
  175. DOSNAM    DC.B    'dos.library',0
  176.     EVEN
  177.  
  178. ARG    DC.B    $A
  179.     EVEN
  180.